<?php
class PostController extends ExtendedController
{
    function __construct()
    {
        parent::__construct();
        $this->loadModel('post');
    }

    public function index($page = NULL)
    {
        if(isset($_POST['submit']))
        {
            $this->models['post']->handleMassAction();
        }
        
        $view = $this->loadView('post_index');
        $data = $this->models['post']->handleIndex();
        $view->setBlockData($data);
        $view->setBlockData('Quản lí bài viết','title');//print_r($view->getConfig('block'));exit;        
        //
        $view->render();
    }

    public function add()
    {
        $data = NULL;
        $this->loadModel('category',TRUE);
        $this->loadModel('post');
        if(isset($_POST['faction']))
        {
            $data = $this->models['post']->handleAdd();
        }
        $data['cat_list'] = array();
        $data['cat_list'] = $this->models['category']->getCategories(0,$data['cat_list']);
        if(count($data['cat_list']) == 0)
        {
            Utility::error("Bạn cần phải tạo danh mục trước khi thêm bài viết",'category/add');
            exit();
        }
        $data['action'] = 'add';
        $view = $this->loadView('add_post');
        $view->setBlockData('Thêm bài viết', 'title');
        $view->setBlockData($data);
        $view->addJs(Utility::getSiteUrl() . "/public/ckeditor/ckeditor.js",FALSE);
        $this->views['add_post']->render();
    }

    public function edit($id)
    {
        $data = NULL;
        if(isset($_POST['faction']))
        {
            $data = $this->models['post']->handleEdit($id);
        }
        $rs = $this->models['post']->getPost($id);
        if($rs->getSize() == 0)
        {
            Utility::error("Không tìm thấy bài viết",'index');
        }
        else
        {
            $data['input'] = $rs->getRow(0);
            $this->loadModel('category', TRUE);
            $data['cat_list'] = array();
            $this->models['category']->getCategories(0, $data['cat_list']);
            $view = $this->loadView('add_post');
            $data['action'] = 'edit';
            $data['id'] = $id;
            $view->setBlockData($data);
            $view->addJs(Utility::getSiteUrl() . "/public/ckeditor/ckeditor.js", FALSE);
            $view->setBlockData('Sửa bài viết', 'title');
            $view->render();
        }
    }

    public function remove($id)
    {
        $rs = $this->models['post']->getPost($id);
        if($rs->getSize() == 0)
            Utility::error('Không tồn tại bài viết','post');
        else
        {
            if (isset($_POST['submit']))
            {
                $this->models['post']->handleRemove($id);
                Utility::error('Xóa bài viết thành công', 'post');
            }
            else
            {
                $data['id'] = $id;
                $data['title'] = $rs->getRow(0)->title;
                $view = $this->loadView('remove_post');
                $view->setBlockData($data);
                $view->setBlockData('Xóa bài viết', 'title');
                $view->render();
            }
        }
    }
}
 
